*refactoring protocol, add property price, price_coef, num, use_only