Made a lot of changes, one step away from completely interfacing with API

Note: Everything that was committed more than a month ago can be deleted from the repository without losing any functionality.