+ Updated with more comments