prefer no-arg ctors