introduced operation subtypes
R E F A C T O R I N G
removed old model