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