adding support for complex props