MAJOR: initial implementation (properties are not yet filled in, however)