Generic brick

implementation of #40