- major refactoring - introducing order types