more helper function muckery