thread the fns for better readability.