code generation and method completer