MANY BUGS, NOW REFACTOR IT - don't remember how many things I changed