correct return types