major changes. got lots of api stuff done