added argument and formal functions