migrate to atomgenerator