API documentation/refactor/cleanup

resolves #34