outline functions