outlined functions