refactoring and adding sub box