using default arguments since we cant overload functions