inital code, still working on it
wait i messed up, there we go