Add primitives and make it all work