new io api to match ROSS-ness