implemented on collision factory