wip, working basic read and write