create engine only once instead of once for each query