exclude unnecessary files
use controller factory