add some prototype