abstract changes