issue #126 encapsulate ID