better route handling, add edit page