Updated to allow for a seed to passed through the constructor