added once() support, NaN hack