add type checks and missing force