cleaned version 2.0 for Serge