Add Brocco and some refactoring