A bit closer, incomplete interface and needs debugging