Outline functions to implement.