Fixed some things + a new argument for random