problem on return types