merged *{h,v} functions