functions that need serious work and might become useful at some points