adds getAlls, nullchecks; easily the best code I've ever written