more work towards boost:optional