doing asym interface