refactoring & experiments