more tests around C++ structs
clean up Elements constructor a bit