use more auto return type