uncommented recommend return function