initial codes
update codes