adding prototype code.