adapted once again to gcc.....