1hr - refactored