Refactor: products moved over to directive