improvements to add custom property