add some prototype code