1.0_002 r1 (i've done some refactoring)