refacto task controllers