see comment about returning h