Add essentials support
Rewrote the util
Rewrote join sequence