working now

(still needs some work, but for now it's okay)