Working solution! Now to clean it up.