bit rough, but progress bars all the same