some improvements (flash messages) and validations (empty?)