more hacking and refactoring (mainly related to ManipulationStep)