adding a few functions