updated to work in 4.0, fixed CSS style issues and can have multiple variations