improve return values