initial versions of this code..