Final Version for submit