refactored worker into seperate files and added logging