top: completed proof
top: various changes