removed static inline, compiler will automatically resolve inlining