Basic data structure and algorithms