Primary IO commit

will be completed by next commit