this need to be forked properly and relinked in IO