some slight changes to Component, GameObject