fix the return types