refactoring: block devices