* virtual for some input callbacks