some oo-ish love
finish up refactor