Finish implementation of API.

Open to suggestions on what else to implement.