refactor & document
readme & license