Initial commit. See som2code.py for code generation using templates