Reworking to be more "functional".