re-organize code, add changelog & add possible multios