- refactored class