recreating zeller class