wrote interface MethodChooser and ConstructorChooser