implemented plist