add implementation details to doc