metaprogrammed photo methods