Fully functional now with plist default values