add recursive photo grab method and types fix