value can be undefied