adding code documentation for the methods I've implemented