merge parser and router
update obstacle