added disconnect method