added input support