edit license text and start to refactor code