write a framework for multiple targets photo