added implementation notes