Added lots of api docs