refactored modules and testing set price logic