hopefully fixed read