Atom and subclasses