fixed arguments so it works as an object in a program.