add Factory class
add class method to create a slot