fix #2: add PropertiesUtil