Serialiser improvements and tests

this is now called SetSerializer