wrapped extends and implements in a method, added file output