update: Several improvements.