adding pure io