move sasl code out into its own file