input doesn't need to be @