Many small changes

too lazy to document