fdoc by square but written in node + extra features