Spring practice recap: Ryan Silverfield