character functions