adding IFrontend interface for frontend abstraction layer