Added input factory support