add mailer, refactor codes and penalties, add some icons!