added back original BaseComponents.py file