First pass at key generation and an introduction. Lots more to do.