major refactoring in styles