Added implementation for input