allow undefined too