added documentation
fixed all but two tests