refactor class, update tests