updated according to system changes + tests