added structures and comments