refactoring. It's too damn hard to name a function