support multi args and more fixes