doc creating implementation