improved return