readded Range as it may be useful
removed dependency upon cglib