This is and will be a work in progress for a while.