Redesigned the argument passing technique