Fourth commit.
Some problem are familiar but I can't solve it now.
Maybe I'll work on them again someday.