A guidewire having a first end and a second end, and comprising two or more guidewire modules. Each guidewire module has a first end and a second end. Each guidewire module is configured to be attachable to a second guidewire module by at least one of: attaching the first end of the guidewire module with the second end of the second guidewire module, and attaching the second end of the guidewire module with the first end of the second guidewire module.