latest version of the code (uncompiled