check for force email
shuffle some stuff around
add unittest
add unittest