added generic sales functions