added support for custom model id attribute