refactored first task