finally working version 1.0