complete docs
fix compile
initial commit
fix & complete tests