bower is necessary