refactor SASL even more