Initial commit. Basic working version.