renamed tmp.cpp to component.cpp