initial add all code