update adding binary IO
update version func