review ok the whole ioinject source code