good progress can calculate route as array