contact implementation