for inheritance