new constructor for the Atom class, allows custom user data for all parameters