lots of updates and rearranging things