working on making force more general
merged