started with implementing codegen, all from the script is done, now own implementing stuff