Made gateway abstract compatible with implementations