introduced namespace and static state vars