added comments for more description