fixed some minor bug in route and added a forceLast option