Re-implement magnetic targets

This reverts commit 8d037a2ded2edafc2ecafad2a8d799cb3f82f629.

Change-Id: I26da0ab2c9d65828bf9cd16a82dad7d1c50dc891