Its work, but ugly and very slow ...