working version, added reviewing