Updated, mostly just cleaned up.