Added implementations and some changed to doc