latest code, merging marks changes also