add basic ui and basic funtion