handling special cases
update1