added all api methods. totally untested