eliminate pos var, advance the pointer directly