Updated. Also very very tired so forgive me if I got stuff wrong.