add support for reference