adding internationalization; abstracting messages