refactoring everything to get ready for 2013