moved price to line_item and added more product validations