add task functionality in place