This was thrown together rather quickly so we should look at optimizing to include better python process handling.