adding prototype code