Comments, improving class structure and adding utility functions