add convenient struct initilizers (very useful in Swift language (iOS development))
split initializers to .h & .c; add plan initilizer
fix typedef
Use prefix for library type "route"