function approximation method