Working (with many problems) version