factory and some more