validate finish-date and some refactors
refactor of tests