added color changing functionality