add some skeleton implementation that Should Work (TM)