Implement contraction and step