added strvalue to allow arbitary strings etc