answers modified by Thierry