Base functionality.