add check singleton