Second to last

this has everything done save for the finalizing of the client end of
the encryption for the login. the one in this commit isnt functioning
so a new one must be finished before the final commit and release