Refactored method in 2, fixed+added some details