Updated with more comments