util classes
method refactored + code commented