added framework for problem3