comments and further improvements