add mutiple args
add wraps (builtin decorator)