added as dependency because npm sucks