Add hasComponent function to makeComponent

small cleanups