pretty much rewrote the whole thing, a lot more variety now