initial commit
added namespacing
changed shape to primitive
split functions into better groups/files