refactor plist