Extracted the Provider module
Changed inputWorker for better readability
Added SplitProvider and SplitProviderS for automated layout creation/update