Refactor to include fabric and cleanup