add some logic and viewcontroller