controller architectre added