added base oregen class