adding document describing implementation