Module documentated and cleaned it up