Gallery Functionality
loads of new changes