additions fixes improvements probably errors