Rewrote to add new commands