working but very unstable version