added extra required features for assignment 2