start to refactor - create classes