added Value.createOption and fixed set() to use equality function