only import matplotlib if necessary