added ARGV interface