optmzed args
code refactor