it was crazy hard, but now it works