someone decided to complain about DRY so

I'm pretty sure this is way better than his plan.