CHANGE: added comments for better understanding