fixed else ifs