cleaned version for Serge