recode the entire app