improve return value