refactor timestamp, remove setters, introduce preconditions
more renamings and refactoring