i think it is time to push this thing to npm