refactored some logic