implemented all methods in task