add shared_io category

shared in and out are too important to hide in utility