input class improvements