removed abstract classes, update store function