updated, may tweak things around a tad in the future