Implemented all functions required for functionality, moving on to testing