Решить нерешенное, доделать недоделанное =)

99% завершено