Rewrote most of the code, added icons