getting there
check algorithm pretty much done