big refactor and adding indicators

- every property just has a single "total" value
- everything uses a set of base classes to construct logical expressions
- more indicators