added name field to components
added logging to shape.py
added some checks