support regexp route; change route rules, use FilterChain as the core stack;
simplify not found handler