Add support for custom id