extracted ft-connect to a mixin for reuse