added interface and profile class