Updated Solution as of 620pm