completed 30, TODO Silvestr's proof