added more code generation capabilities. now generic. almost ready for C.