updated return types