removed component inheritence, it was a bad idea