now it takes arguments