add factor access and body collision sweep