a few implementation notes