Finish Code( not tested yet)