add more API documentation and start helpers for easy reading