Add more functions ,almost all