added ability to change opacity