starting liveness
some refactorings, and progress on Liveness