add singleton 2
Merge branch 'feature-singleton' into develop