support for switching modes
make support to instructions
change pointers to rvalue ref
saving