better for inlining