add bower
improve behavior