[dev02] refactoring