* join the conditions of the inner ifs * add a uniqueness constraint to the model * differentiate between author is a local or a remote user * simplify controller/mailer functions