add support for singleton method