Added comments and extra methods