Build your own interface - dynamic code generation