Added capacity to create (empty) variants, and tidied up a few different things