Primitive shapes

This is to resolve #29.