Initial code

Still requires addition of boilerplate and commentary/introduction.

Docstrings provide basic information, more detailed information to follow.