restructured a few things to make more sense