decomposed brickpi class