slick working but still buggy