add variant test
serialization added
add build script