refactor routes, add SN-opening feature