Moved all creation/removal to generic functions