code uppdate, all unitetest green
refactoring moved unittest into project