basic dynamic gallery and player