Updated with recent changes