Implement overloads, add default value checking