Completed intial version