refactored component builder to browser