Added edited version. merged. isaac edits his version.