Final Version (added print)