added singleton annotation