implemented moveTo
implemented isPipe
implemented applyState