added non-simple properties
refactored props into specs, + coverage-test