on second thought, that last commit was a bad idea design-wise