more documentation, handle more parameters.