Add factory, remove functions