added gallery factory