Adding more functionality and documentation