Updated with more of latest commits