refactored texture section