[#32] refactored calculating price using delegate