added more tests and test cases. Improved (but not completely fixed) evaluation function. Reorganized code a little, added a GetInput class for input handling.