Significantly cleaned up code and OOP'd it - hid struct definitions in the c file instead of h, made getters and setters, etc.