Completed basic working functionality