hmmm ... I'll prefer a lambda rather than a inner function. :P