routes are somewhat buggy, but they will do