refactoring the bower toolkit