constructor re-implemented, doc style changed