Abstraction

Merging abstraction with Refactor. Abstraction was built for modifying analyze move. It is not needed any more really.