A lot of code, not works in the least modification