Initial commit with a few things done yet.