refactoring byId and bySlug return single product instead of list