WIP: atom support so I can read

Still need tests for this, but a good first stab