let the user deal with dependencies