probably add client-side rekeying, server side to be done
working semi-proper rekey support
trailing whitespace