just for practice basic data structure and algorithms