continue the refactor started 4 months ago...