codes with lot  of changes