Updated a lot, added tests, solved Problems 4 and 5