final product -- hw3