Also I think that code should be readable and maintainable. Why make things complicated when there is a simple, readable and understandable solution that you can come back to in a year and understand without having to bang your head against a brick wall?!