add more docs on implementation