updated extern and inline fncs