Add code generation

Change-Id: I2b4aba6148e36768be2eec5465b2f390537e88fa
Fulfill license obligations

Fix #1

Change-Id: Ia1f9a123fb70362e39e285319fd9d6b94ef90bc4