don't forget to call init on an IOline