Updated with mostly annotations