better checking instance procedure