begin to implement authentication