ignore unknown properties.
use optionals in builders
merge again because im an idiot