refactoring
new packages for each task and commom utils package