primitive and non primitive data structure