first draft for bower and require