Refactored Gallery Model