added comments for better in code documentation