now return nrxt funxtion is optional