moved products function backup