added general adapter