added BrushEngine class