a few functions don't hurt