slimming down core io