added interface design