add core render methods to each component