you have read_binary and binary_read functions, may be it better move  in separate header?