added strength checking, history, analyis, and more