Added comments and additional methods