Updates with some code tightening for return values and if modifiers