ifs and other cool stuff