added functions that take arguments