updated return types.