Component refactor and venue-type model