need to comment and structure