added tests & custom routes