added a more robust email class system