refactor with bower