made the complex types a bit nicer