minimal refactor of propertycollectors to fix space issue