Use opacity instead of brightness
Clean up
Implement reset