datahandler initial refactor
added datahandler