adding redesign + code refactoring + i18nization + french/en support