@karlnapf 
I have added the  references and implementation references. Please see the code.