add biz logic