added to breaking apart the problem