improve route method