use inline function