Custom component implementation