added initial codes