completed constructs and working code

missing interfaces and utility constructs