Refactor of singleton, capture type logic in a required init function.
updated logging with more accurate message
use already available utils