mostly through switching vision algorithms, doesn't currently compile