pass in three object rather than require dep; breaking change