updated return type