added more inheritance