use inline functions