added mode concept for input vs display