Add in some new logic. Rework some older methods.