deleted all inline regex so it's easier to modify it to enable I18n
further refactring to support I18n