made some interface and abstract class experiments