fixed correct return types