decorator refactoring + dwall update