implemented as a runnable module, added simple build script