rewritten and documented
1 file changed