Refactored methods and added new methods