mostly final changes