A mostly failed attempt at refactoring