just some code cleanup
converted to singleton