big refactor

now history driven!