added comments for better overview