First pass at getting basic functionality in place