base working, thinking how to implement k