add login required and product write