refactoring. Simplier, cleaner, better.