make class customizable via options