added color changing and other stuff