oh yeah, this could definitely be a follow-up refactor