still refactoring...
will the refactoring ever stop?