rewrite controller, create instance then use it. update sdk to 18