abstractish and my corrections of samimy stuff.