simplifies instruction generation with inject
now has places switchable instead of routes