make singletone version of component