clean up; double buffering support; use it for the tests project(s)