add user functions, user offer fucntion and modified the biz logic