use overloading to avoid awkward add_motor name for more flexible motor adding