restructured and updated the terminologies, added namespace