move external atom definitions and parser to separate files