use readonly input