add a few functions