restructurization + some primitives added + io added