refactoring - breaking down methods