Added comments and changed method names to be more descriptive