version task implementation