refactored a bit
added bcc and cc options
updated the via options hash