start implementing routing functionality