refactoring and models
use bower