First pass at non-const