_List of Desired Features_ Categories work based on selection, not just highlight - i.e. assign categories to multiple books at once - this may involve extra logic if books don't have the same categories beforehand Regex Search Choose shown columns in browser Support for multiple copies - (better support, that is) Search function in db_layer - eventually something which takes things like "title:foo author:bar some other keywords" _Code Quality Improvements_ Make the various windows centre themselves Document all functions Conform to python naming conventions and code style Make db_layer use a helper function to handle most of the database queries Unify the db_layer interface w.r.t. whether book_ids should be passed as strings or ints or dicts. _Bugs_ Error when entering bad ISBN e.g. 02010798X (instead of 020107981X) - seems to be an intermittant error, likely related to polling openLibrary Error on search - related to strings in Python3 When the top element shown is highlighted in the browser window, and pgUp is pressed (causing a scrollup), the bottom border of the window turns into 'qqqqqqqq'. - does not happen when up_arrow is pressed. Error checking out an already checked out book - SQLite integrity check failure _Implemented Features_ Sort by column in browser Support UTF-8 for everything Search ignores Case (for lowercase search strings) Text entry supports longer string Home and End navigate to top and bottom of catalogue respectively. Support for multiple copies - books will have their book_id written in pencil on inside cover