change guard to use 2 properties instead of seperate object. other bugfixes & tweaks
deserialization stuff