my algorithms are currently all working