refactor the constructObject helper to use the module soc