Autotype algorithm