added information.
improved some functions.