revert change
use setdefault and let the super class handle the metadata
do not attempt to validate at contruction
avoid divide by zero
try to use the local coding style
fix date