added support for custom properties