add common part for three version