added instructions, comments, and tests