adapter now only creates 1 instance for all requires instead of 1 per require