separated sparse penalty update to a different function