first kind of usable version