Forked to add diversity features