refactor WIP, yet another brick wall