First kind of working version.