use new Atomic classes

This is not entirely backward compatible, passing non-integer values
raise TypeError.