Added some new functionality and asthetics