Initial commit. Add basic generating and reading capabilities