23 renewed

separated commits, so we can merge only parts if it make more sense

needs more:

1. testing
2. expanding the history and status objects further, they are pretty basic now

replaces #23