add task dynamically