Same as previous method
Restructure some conditionals