Add natural mapping

Two small commits:
- using constants know at compile time
- Switching loop sequence for optimization.

@endJunction: sorry I rebase to current master and as a consequence to branches diverged. I hope you can easily solve the conflict?!