updated with comments3