cleaned up check-style and changed the internal provider to provide provision strategies