jk this SHOULD be finished.