Final Version minus 2 style bugs