added a bunch more api stuff