add keeper structure
add intarface