it's ok to use the functions only once, shouldn't produce much overhead.