adding in machine epsilon code