adding some methods and documentation