Added FunctionalInterface, Effective Final etc