still don't have diffie hellman working, but I refactored the handler to fit my established standard