Core API functionality implemented

@yefim, @Ceasar I think this should cover most methods someone would want. Please let me know if any of the documentation is unclear or if you disagree with the API.