Implement operators
Refactor
Implement substitution