add virtual factory to the controllers
add memo