functions appart