more comments and better var names