First commit

Basic functionality in place.