minor optimization, hopefully it doesn't break something
major optimization, reduces functions stacking in complex expressions (needs testing)