Tweaking to get this updated, still tons of work to do