rewrite of abstract.
merged
updated ignore