accepts input from client