experimenting with all sorts of things... opencv is way better