updates through asst 3