helper methods and task partial implemented