First iteration using router functionality