well as pointers to alternative implementations and further reading. It is assumed that