updated class with additional options + example