Refactoring; updated copyright imformation