added argument functionality