routes and interface changes, merged with joel's latest