implement new task logic