refactorization due to preparation for Thread support
refacto ...
refacto ...