connect should have different APIs