read from argument