add some comments and assertions