optimized
added support: "-" in route rule