updated to handle camera by piece...