Initial commit. Setting up basic structure and outlining critical
methods.