Initial Version with UI implimentation