change the order of static function so that it cannot be misused (as well as adding comment)