updated price logic