split widgets into multiple files