Restructured for inheritance of two types, added requirements.txt