refactor to classes