Further improved error handling. Also added multi language support. Why? because I can (and it's really cool).