in the middle of major refactor