fixing the acs pattern
new provider pattern