Base refactoring

refactor to make every interface heritage from a base class