Updated to include database functionality, still have to find a database to test.