finally working on final version