source should also support string object_provides instead of just list