Forgot to add some this before the last commit + some routing and abstractins