Updated with annotations