add start_pos and tell