dont show price when it is empty
some refactoring in routing