extracting out Edition code
basic edition impl
tests pass
annotation works with selections now
everything works, about to do a refactor
most things work