isolate constructs directory
abstract a task class out of routine_task