Final Version 3.0