Just algorithm, write by myself.