Increase sharing
Clean up
Avoid branching
Clean up