WIP: attempt custom component