seperated the cameras and interfaces, implementing non thread mode