integrated api
added lots of stuff