add core io and fix some core