cleanup & pythonic now compiles with g++-4.6