Updated per homework