before pull out common
pull out common functions