added bower because, maybe that should be split out