working implementation for Linux (Ubuntu) and a hopefully working implementation for OS X