moved som classes around and added nocopy for autocompiler