Algebraic ADT: datatype for molecules, complete with orbitals, reaction dynamics and group theoretic properties