add strong component implementation