added raw input support